package com.itheima.java.ai.langchin4j.config;

import dev.langchain4j.model.chat.ChatLanguageModel;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Mock ChatLanguageModel 配置类
 * 当没有真实的ChatLanguageModel bean时，提供一个mock实现
 *
 * @author xiaozhi
 * @since 2025-01-07
 */
// @Configuration - 暂时禁用Mock配置，使用真实的DeepSeek配置
public class MockChatLanguageModelConfig {

    @Bean("openAiChatModel")
    @ConditionalOnMissingBean(ChatLanguageModel.class)
    public ChatLanguageModel openAiChatModel() {
        return new ChatLanguageModel() {
            public String chat(String message) {
                // 返回一个简单的mock响应
                return "基于您描述的症状，建议您：\n" +
                       "1. 注意休息，保持充足睡眠\n" +
                       "2. 多喝水，保持身体水分\n" +
                       "3. 如症状持续或加重，请及时就医\n" +
                       "4. 遵医嘱用药，不要自行用药\n\n" +
                       "注意：此为AI模拟分析，仅供参考，请以医生诊断为准。";
            }
            
            public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(java.util.List<dev.langchain4j.data.message.ChatMessage> messages) {
                // 实现generate方法以避免doChat方法的"Not implemented"错误
                String response = "基于您描述的症状，建议您：\n" +
                                "1. 注意休息，保持充足睡眠\n" +
                                "2. 多喝水，保持身体水分\n" +
                                "3. 如症状持续或加重，请及时就医\n" +
                                "4. 遵医嘱用药，不要自行用药\n\n" +
                                "注意：此为AI模拟分析，仅供参考，请以医生诊断为准。";
                
                dev.langchain4j.data.message.AiMessage aiMessage = dev.langchain4j.data.message.AiMessage.from(response);
                 return dev.langchain4j.model.output.Response.from(aiMessage);
             }
         };
    }
}